package com.zhihuishu.micro.course.openapi.cc;


import java.util.List;

import com.zhihuishu.micro.course.openapi.cc.dto.CourseSpeakerOpenDto;
import com.zhihuishu.remote.RemoteException;
import com.zhihuishu.remote.RemoteResult;

public interface CourseSpeakerOpenService {
	
        /**
         * @Description:保存主讲人
         *  @date:@2016年12月20日下午6:37:40
         *  @author:嵇鹏
         *  @Param:
         *  @retuen:RemoteResult<Integer>
         */
        RemoteResult<Integer> saveCourseSpeaker(CourseSpeakerOpenDto courseSpeakerOpenDto,long courseId,long userId);
	/**
	 * @Description:保存列表
	 *  @date:@2016年12月19日上午8:31:47
	 *  @author:嵇鹏
	 *  @Param:
	 *  @retuen:RemoteResult<List<Integer>>
	 */
	RemoteResult<List<Integer>>  saveList(List<CourseSpeakerOpenDto> courseSpeakerOpenDtos,long courseId,long userId);
	/**
	 * 更新（1.课程主讲人 教学团队，2.课程负责人）
	 * @Description
	 * @author shehuaiyang
	 * @date 2016年9月13日 上午9:38:44
	 * @modifyNote 
	 * @param csd
	 * @return
	 * @throws RemoteException
	 */
	RemoteResult<Void> update(CourseSpeakerOpenDto  courseSpeakerOpenDto,long courseId,long userId)  ;
	/**
	 * 查询（1.课程主讲人 教学团队，2.课程负责人）
	 * @Description
	 * @author shehuaiyang
	 * @date 2016年9月13日 上午9:40:15
	 * @modifyNote 
	 * @param userId
	 * @return
	 * @throws RemoteException
	 */
	RemoteResult<List<CourseSpeakerOpenDto>> courseSpeakearList(long courseId);
	
	/**
	 * @Description:删除
	 *  @date:@2016年12月19日上午9:13:01
	 *  @author:嵇鹏
	 *  @Param:
	 *  @retuen:RemoteResult<Void>
	 */
	RemoteResult<Void> deleteByIds(List<Integer> ids,long courseId,long userId);
	/**
	 * @Description:删除
	 *  @date:@2016年12月20日下午6:42:44
	 *  @author:嵇鹏
	 *  @Param:
	 *  @retuen:RemoteResult<Void>
	 */
	RemoteResult<Void> deleteById(int id,long courseId,long userId);
	
	/**
	 * 更新教学团队排序序号
	 * @author ztl
	 * @date 2017年3月22日下午2:06:42
	 * @param sortParams
	 * @param courseId
	 * @param userId
	 * @return
	 */
	RemoteResult<Void> updateCourseSpeakerOrderNumber(String sortParams, Long courseId, Long userId);
	
	/**
	 * 补全教学团队老数据
	 * @author ztl
	 * @date 2017年3月22日下午9:15:33
	 * @return
	 */
	RemoteResult<Void> setOrderNumebrForOldCourseSpeaker(); 
}
